home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
c64-preservation-project
/
battles_of_napolean_s1[ssi_1988](v1_0)(manual).d64
/
g
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2019-04-13
|
5KB
|
162 lines
4 CC=646:GOSUB27100:POKE808,234:D$="[147]"
5 P$=" ":POKE 53280,0:POKE 53281,0
6 Y=911:X=912:W=49281:TU=22311:POKECC,1:J=PEEK(TU):MT=22366:UN=22278
8 GOTO100
10 Y$=STR$(A):Y$=RIGHT$(Y$,LEN(Y$)-1):RETURN
50 PRINT"[147]":POKEY,1:POKEX,0:SYSW:POKECC,7
51 PRINT"BATTLES OF NAPOLEON":POKEY,3:POKEX,0:SYSW:POKECC,3
55 GOTO9000
62 POKEY,6:POKEX,10:SYSW:RETURN
100 GOSUB50:POKEY,6:POKEX,0:SYSW:POKECC,7
101 PRINT"PUT YOUR SAVE-GAME DISK IN THE DRIVE"
102 GOSUB 5000
900 POKE808,234
905 GOSUB50
940 POKEY,7:POKEX,0:SYSW:POKECC,3:POKE199,1:PRINT"S";:POKE199,0
950 PRINT"AVE GAME":POKEY,9:POKEX,0:SYSW:POKECC,5
951 POKE199,1:PRINT"D";:POKE199,0:PRINT"ELETE FILE":POKECC,3
953 POKEY,11:POKEX,0:SYSW:POKE199,1:PRINT"L";:POKE199,0:PRINT"IST DIRECTORY"
955 POKEY,13:POKEX,0:SYSW:POKECC,5:POKE199,1:PRINT"I";:POKE199,0:PRINT"NIT DISK"
960 POKEY,15:POKEX,0:SYSW:POKECC,3:POKE199,1:PRINT"E";:POKE199,0:PRINT"XIT"
961 POKE198,0:POKE631,0
964 GOSUB10000
965 IFA=69THENPOKE646,5:GOTO1100
970 IFA=83THENPOKE646,7:GOTO1000
975 IFA=68THENPOKE646,3:GOTO6000
980 IFA=76THENPOKE646,7:GOTO2000
985 IFA=73THENPOKE646,1:GOTO3000
990 GOTO 964
1000 REM *** DISK SAVE ***
1005 GOSUB50:POKE198,0:POKEY,8:POKEX,5:SYSW:POKECC,3:PRINT"SAVE FILE NAME";
1006 B$="":POKECC,1:INPUTB$:GOSUB10010
1007 POKE808,237
1008 Q=22278:QN=31029:A$=B$+".DAT":GOSUB1015:IFEN>0THEN1014
1009 Q=31798:QN=32517:A$=B$+".UNT":GOSUB1015:IFEN>0THEN1014
1010 Q=32530:QN=34129:A$=B$+".MAP":GOSUB1015:IFEN>0THEN1014
1011 Q=39808:QN=40447:A$=B$+".INIT":GOSUB1015:IFEN=0THEN900
1014 POKECC,3:PRINT:PRINT"DISK FULL OR BAD DISK":GOSUB5000:GOTO900
1015 OPEN15,8,15,"I0"
1022 INPUT#15,EN,EM$,ET,ES
1024 IFEN<>0THEN3051
1025 OPEN3,8,1,"0:"+A$+",P,W"
1026 INPUT#15,EN,EM$,ET,ES
1030 IFEN=0THEN1050
1035 CLOSE3:CLOSE15:IFEN<>63THEN3055
1040 POKECC,1:PRINT"FILE ALREADY EXISTS ON DISK.":GOSUB5000:GOTO900
1050 CLOSE3:CLOSE15:OPEN15,8,15,"SCRATCH":C$="S0:"+A$:PRINT#15,C$:CLOSE15
1055 POKE910,15:POKE911,8:POKE912,255:SYS49269
1056 FORA=1TOLEN(A$):POKE32517+A,ASC(MID$(A$,A,1)):NEXT
1057 POKE910,LEN(A$):POKE911,6:POKE912,127:SYS49272
1060 AH=INT(Q/256):AL=Q-AH*256
1061 BH=INT(QN/256):BL=QN-BH*256
1062 POKE251,AL:POKE252,AH:POKE910,251:POKE911,BL:POKE912,BH:SYS49278
1065 OPEN15,8,15,"I0"
1066 INPUT#15,EN,EM$,ET,ES:CLOSE15
1067 IFEN<>0THENPRINT"[147]DISK FULL. INIT ANOTHER DISK.":GOSUB5000
1070 RETURN
1100 A=PEEK(TU-1)
1102 IFA=0ORA=4THENA$="A":GOTO1130
1103 IFA=1THENPOKEUN,2:A$="W":GOTO1130
1105 B=PEEK(TU+1):IFPEEK(B+TU-3)=1THENA$="B":J=PEEK(TU):GOTO1130
1110 A$="D"
1130 POKECC,7:PRINT"[147]INSERT FRONTSIDE OF GAMEDISK[146]":GOSUB5000
1131 POKE808,237
1132 OPEN15,8,15,"I0":OPEN14,8,14,A$
1133 INPUT#15,EN,EM$,ET,ES:IFEN>0THENCLOSE14:CLOSE15:GOTO7020
1134 CLOSE14:CLOSE15
1135 PRINT"[147]":SYS49152:POKECC,PEEK(53281):GOTO25000
2000 REM *******LIST DIRECTORY*********
2005 PRINT"[147]":POKECC,7:POKE808,237
2006 OPEN15,8,15,"I0":INPUT#15,EN,EM$,ET,ES:CLOSE15
2010 OPEN15,8,15,"I0"
2015 INPUT#15,EN,EM$,ET,ES
2020 IF EN<>0 GOTO 3051
2110 OPEN1,8,0,"$0":R$=""
2115 GET#1,A$,B$
2120 GET#1,A$,B$
2125 GET#1,A$,B$
2135 C=0
2140 IF A$<>"" THEN C=ASC(A$):POKECC,5
2145 IF B$<>"" THEN C=C+ASC(B$)*256:POKECC,3
2150 PRINTMID$(STR$(C),2)R$TAB(5)
2155 GET#1,B$:IF ST<>0 THEN 2205
2160 IFB$<>CHR$(34)THEN2155
2165 GET#1,B$:IF B$<>CHR$(34)THENPRINTB$;:GOTO2165
2170 GET#1,B$:IF B$=CHR$(32) THEN 2170
2175 R$="[146]":C$=""
2180 C$=C$+B$:GET#1,B$:IFB$<>""THEN2180
2185 PRINTTAB(21)LEFT$(C$,3)
2200 IF ST=0 THEN 2120
2205 POKECC,3:PRINT" BLOCKS FREE"
2210 CLOSE1:CLOSE15:GOSUB5000:GOTO900
3000 REM ******INIT**********
3005 POKECC,3:PRINT"[147]INSERT BLANK DISK IN THE DRIVE[146]"
3010 FORA=1TO800:NEXTA
3030 PRINT"TYPE 'INIT' AND <RETURN>":PRINT"TO FORMAT DISK";
3035 A$="":INPUT A$:GOSUB10010:POKECC,1:IF A$<>"INIT" GOTO 900
3040 POKE808,237
3041 OPEN15,8,15,"I0":INPUT#15,EN,EM$,ET,ES:CLOSE15
3042 OPEN15,8,15,"N0:NAPOLEON SAVE,S1"
3045 INPUT#15,EN,EM$,ET,ES
3050 IFEN=0THEN3060
3051 CLOSE15
3055 OPEN15,8,15,"I0":CLOSE15
3056 PRINT"ERROR:"EN;EM$:GOSUB5000:GOTO900
3060 CLOSE15
3070 GOTO900
5000 POKE808,234
5001 POKECC,5
5008 PRINT:PRINT"PRESS <RETURN> TO CONTINUE"
5009 GOSUB10000:IFA<>13THEN5009
5010 RETURN
6000 REM*******DELETE FILE NAME********
6010 POKECC,3:POKE198,0:POKE631,0
6020 B$="":PRINT"[147]DELETE FILE NAME";:POKECC,1:INPUTB$:GOSUB10010
6040 POKE808,237
6060 A$=B$+".DAT":GOSUB6120:IFEN>0THEN3051
6070 A$=B$+".UNT":GOSUB6120:IFEN>0THEN3051
6080 A$=B$+".MAP":GOSUB6120:IFEN>0THEN3051
6090 A$=B$+".INIT":GOSUB6120:IFEN>0THEN3051
6100 GOTO900
6120 OPEN15,8,15,"I0":INPUT#15,EN,EM$,ET,ES:CLOSE15
6140 OPEN15,8,15,"I0"
6160 INPUT#15,EN,EM$,ET,ES
6180 IFEN<>0THENRETURN
6200 OPEN3,8,0,"0:"+A$
6220 INPUT#15,EN,EM$,ET,ES:CLOSE3
6240 IFEN=0THENPRINT#15,"S0:"+A$:CLOSE15:RETURN
6260 IFEN<>62THENRETURN
6280 CLOSE15:OPEN15,8,15,"I0":CLOSE15
6300 RETURN
7020 POKECC,7:PRINT"[147]ERROR:[146] "EN;EM$
7022 PRINT"YOU MAY HAVE WRONG DISK IN THE DRIVE":GOSUB 5000
7024 GOTO 1131: REM BACK TO CALLER
9000 C=MT+851:G=PEEK(C):B=G-INT(G/2)*2:B$=":00":IFB=1THENB$=":30"
9005 G=INT(G/2):B=ABS(G>11):A$="AM":IFB=1THENA$="PM":IFG>12THENG=G-12
9010 F=ABS(G=0):A=PEEK(C+2):GOSUB10:PRINTY$"-";:A=PEEK(C+11):GOSUB10:PRINTY$"-";
9015 A=PEEK(C+3)*100+PEEK(C+4):GOSUB10:PRINTY$" ";
9020 IFF=1THENPRINT"NIGHT";:GOTO9050
9030 A=G:GOSUB10:PRINTY$;B$" "A$;
9050 PH=1-PEEK(TU+1):M=PEEK(TU-1):IFM=0THENM=4
9055 M=INT((M+1)/2):B$="FRENCH":IFPH=1THENB$="ALLIED"
9070 PRINT" "B$" PHASE"M
9080 POKEY,6:POKEX,10:SYSW:RETURN
10000 POKE631,0:POKE198,0
10005 A=PEEK(631):IFA=0THEN10005
10010 POKE145,255:POKE199,0:POKE203,1:POKE243,192:POKE244,219
10015 POKECC,1:POKE647,6:POKE653,0:POKE631,0:RETURN
25000 POKE808,237:Q=21254:N$="FASTL2.O":GOSUB27000:SYS31030
25010 Q=21254:N$="NAP.SHP":GOSUB27000:GOTO31000
27000 POKE31033,0:POKE780,15:POKE781,8:POKE782,0:SYS65466
27010 L=LEN(N$):FORA=1TOL:POKE32517+A,ASC(MID$(N$,A,1)):NEXT
27020 POKE780,L:POKE781,6:POKE782,127:SYS65469
27030 AH=INT(Q/256):AL=Q-AH*256
27040 POKE780,0:POKE781,AL:POKE782,AH:SYS65493
27050 OPEN15,8,15,"I0":CLOSE15:EN=ABS(PEEK(31542)=255):RETURN
27100 POKE816,PEEK(35709):POKE817,PEEK(35710):OPEN15,8,15,"I0":CLOSE15:RETURN
30000 OPEN15,8,15,"S0:G":CLOSE15:SAVE"G",8:END
31000 POKE31033,0:PRINTD$"LOAD "CHR$(34)A$CHR$(34)",8"
31010 POKE198,8:POKE631,19:POKE632,13:POKE633,32:POKE634,32
31020 POKE635,82:POKE636,85:POKE637,78:POKE638,13
31030 CLR:NEW